package com.hr.reactive.mono.s02;

import reactor.core.publisher.Mono;

public class Lec10MonoSwitchIfEmpty {
    public static void main(String[] args) {
        // 创建一个可能为空的 Mono
        Mono<String> source = Mono.empty();


        // 使用 switchIfEmpty 提供一个默认值
        Mono<String> result = source.switchIfEmpty(Mono.just("Default Value"));
        // 订阅并打印结果
        result.subscribe(System.out::println); // 输出: Default Value

        // 再次测试，这次 Mono 不为空
        Mono<String> nonEmptySource = Mono.just("Hello, World!");

        Mono<String> nonEmptyResult = nonEmptySource.switchIfEmpty(Mono.just("Default Value"));

        // 订阅并打印结果
        nonEmptyResult.subscribe(System.out::println); // 输出: Hello, World!
    }
}
